iT邦幫忙

2023 iThome 鐵人賽

0
Vue.js

從0開始學習30天可以到什麼程度?系列 第 29

No29: 元件宣告&註冊

  • 分享至 

  • xImage
  •  

元件的宣告分為"全域元件"和"區域元件",在Vue2.0中,全域元件可以通過Vue.component('元件名稱', 屬性)來註冊,在Vue3.0則是需要先透過Vue.createApp()建立一個新實體(名稱:app),再定義一個"app.component('元件名稱', 屬性)",然後通過它將新的原件註冊到app的根元件裡面。主要是在Vue3.0將全域的概念從整個Vue改變為"根實體",這樣可以避免在宣告多個根實體之後它們互相汙染。

<div id="app">
  <h3>Root Instance</h3>

  <child-comp></child-comp>
  <child-comp></child-comp>
</div>
const vm = Vue.createApp({
  data() {
    return {
      count: 0
    }
  }
});

vm.component('child-comp', {
	template: `
    <div class="app-child">
      <div>Hello Vue!</div>
    </div>`
});

vm.mount('#app');

區域型元件則是在上層元件的components屬性裡面來定義,也可以在環境支援ES Module情況下,使用import來引入外簿子元件,在使用上全域元件與區域元件並沒有什麼差異,只是跟字面上一樣,全域元件的使用範圍是整個應用程式,區域元件則是只能在宣告過components:{...}屬性之後的元件才能使用。

const app = Vue.createApp({
    components: {
        'my-component' : {
            template: '<div>hello</div>',
        }
    }
});
app.mount('#app);       

上一篇
No28: 元件系統
下一篇
No30: 回顧
系列文
從0開始學習30天可以到什麼程度?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言